//设置一个递归函数，对比后台返回的数据和自定义路由

/**
 * 
 * @param {Array} allRoutes  项目所有的路由
 * @param {Array} menuList   服务器返回的菜单名字/路由名字
 * @returns {Array} 计算好的用户路由
 */
function recursionRoutes (allRoutes=[],menuList = []) {
   let userRoutes = []
   //console.log(allRoutes);
   //遍历allRoutes  对比allRoutes 和 menuList 
   //对比的条件就是 找menuList中的 title 和 allRoutes 中每个route 对象中的meta属性中的title相同的选项
   //如果相同说明需要route对象 ，那就添加到数组中userRoutes
   allRoutes.forEach (route => {
      menuList.forEach(item => {
         if(route.meta?.title === item.title){
            route.meta.name = item.name 
            if(route.children&&route.children.length > 0) {
               route.children = recursionRoutes(route.children,item.children)
            }
            userRoutes.push(route)
         }
      })
   })
   return userRoutes
}

export default recursionRoutes